/*
 * 文件名： DriveMotorStateTag.java
 * 
 * 创建日期： 2016年12月1日
 *
 * Copyright(C) 2016, by <a href="mailto:liws@xingyuanauto.com">liws</a>.
 *
 * 原始作者: liws
 *
 */
package com.moli.iov.protocol.enums.realtime;

import com.moli.iov.protocol.enums.IDictsEnumTag;


/**
 * 驱动电机状态 标识枚举
 *
 * @author <a href="mailto:liws@xingyuanauto.com">liws</a>
 *
 * @version $Revision$
 *
 * @since 2016年12月1日
 */
public enum DriveMotorStateTag implements IDictsEnumTag  {
	/**
	 * 耗电
	 */
	POWER_CONSUMPTION("耗电", (byte) 0x01), 
	/**
	 * 发电
	 */
	POWER_GENERATING("发电", (byte) 0x02), 
	/**
	 * 关闭状态
	 */
	CLOSED("关闭状态", (byte) 0x03), 
	/**
	 * 准备状态
	 */
	READY("准备状态", (byte) 0x04),
	/**
	 * 异常
	 */
	ERROR("异常",
			(byte) 0xFE), 
	/**
	 * 无效
	 */
	INVALID("无效", (byte) 0xFF);
	
	private String k;

	private byte v;
	
	private DriveMotorStateTag(String key, byte value) {
		this.k = key;
		this.v = value;
	}

	public DriveMotorStateTag valueOf(byte value) {
		switch (value) {
		case 0x01:
			return POWER_CONSUMPTION;
		case 0x02:
			return POWER_GENERATING;
		case 0x03:
			return CLOSED;
		case 0x04:
			return READY;
		case (byte) 0xFE:
			return ERROR;
		case (byte) 0xFF:
			return INVALID;
		default:
			return null;
		}
	}

	public static String getKey(byte value) {
		for (DriveMotorStateTag c : DriveMotorStateTag.values()) {
			if (c.getV() == value) {
				return c.k;
			}
		}
		return null;
	}

	@Override
	public String getK() {
		// TODO Auto-generated method stub
		return this.k;
	}


	@Override
	public byte getV() {
		// TODO Auto-generated method stub
		return this.v;
	}

}
